Data compression, the reversible re-encoding of information into a reduced format, has been shown to provide distinct advantages in both storing and transmitting information in data communication systems. The reduced format allows information to be communicated more quickly, saving time and cost. Numerous compression schemes are available. Each compression scheme utilizes a "dictionary" to code and decode information into/from codeword combinations.
Typically, an analog modem transmits data from attached synchronous data terminal equipment (DTE) to remote synchronous DTE at the modem's analog channel data rate. In order to compress data, a selected portion of data must be accumulated first, then compressed to the selected codeword combination. This injects a delay into the transmission process. Again, when the compressed data is received at the remote modem, the selected codeword combination must be decompressed to provide the original data information. Thus, compression of data at the modem causes delays both at the source modem and the destination modem. In addition, buffering and retransmissions that occur when using error-correction can cause a problem of underrun conditions at a receiving DTE.
In order to eliminate the modem's error correction, the data compression must include an algorithm with a self-synchronizing code, being an algorithm that is completely different from presently utilized algorithms. Such an algorithm would probably have significantly lower data throughput in comparison with V.42bis in channels with a high error rate.
The scheme of varying a clocking rate when sending data to the DTE has been utilized in some existing products such as statistical multiplexors that implement synchronous data compression. However, this approach has the disadvantage that the DTE is required to tolerate speed changes, which is not a capability for all DTEs. Also, this approach requires greater complexity and hardware changes to the system.
Hence, for high speed synchronous data transmission, there is a need for providing a modem, method and system for compensating, in the modem, for the delays introduced by the data compression and error-correction such that throughput is increased.